There is a recognized need to automatically perform music. Oftentimes music composers wish to hear their newly composed music performed without gathering an ensemble of musicians for playing the music. For someone who is not a professional musician, it is difficult, and in many cases impossible, to appreciate a musical score until it is performed, and engaging well-trained players is cost prohibitive, since extensive preparation, practice and rehearsals are required to achieve a reasonably expressive performance. There is therefore a need for automatic performance of music.
Conventional music notation was developed to allow human performers to perform the music in many cases according to their musical interpretation, rather than to indicate the exact expression of each note regarding parameters such as tempo and/or intensity. Human performers take into account, consciously or not, many parameters that are not explicit in musical scores. For instance, human performers usually play a first note in a measure louder than the other notes in the measure even in the absence of any explicit indications in the score for doing so. Similarly, human performers intuitively change the length and intensity of notes in accordance with the role these notes play in the harmonic flow of the music.
State of the art systems for automatic music performance perform music from notes by playing the notes as indicated in the score, yet fail to take into account many implicit factors considered by human performers, as data describing these factors, is absent from conventional scores. As a result, automatic performance of music is characteristically monotonic and devoid of musical expression. Most notation applications allow to input music in standard music notation and translate the notation file information to MIDI format, allowing users to change manually MIDI parameters such as Tempo, Duration and Velocity (the MIDI parameter that together with Volume determines the sound intensity) of each note at the user's will. This allows in principle creating a music notation file that is not different from human performance; but in practice, the task of assigning MIDI parameters to each note is too tedious, and requires exceptional skills.
Another option provided in the art is playing music by a human performer into a music notation file (for instance, in a piano with MIDI capabilities, such as the Yamaha Disklavier™), and then “correcting” the performance by manipulating tempo and/or velocity values of some of the notes played. However, this solution does not free the user from actually performing the music in the first place.